欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

SQL和數據庫性能調優指南和清單:專家提示

數據庫管理員 (DBA) 就像賽車技師。構建和優化高性能車輛需要進行細微的微調和對細節的關注。這里的調整和那里的調整可以將你的單圈時間縮短幾分之一秒。當然,那幾分之一秒可以決定你是贏還是輸。作為 DBA,您有責任微調您的 SQL 查詢,使它們具有額外的功能。即使是速度上的微小改進也可能使您領先于競爭對手,并使您成為客戶(或老板)眼中的贏家。

如何將SQL Server數據庫遷移到Azure

雖然 SQL 性能調優不是一夜之間成為專家的事情,但在您作為云 DBA 起步時,有一些準則需要遵循。本指南將為您提供一個基本框架,供您發展技能和知識庫。您將學習一些重要的交易技巧,例如如何分桶思考和對相關指標進行分組。還包括數據庫維護任務的一般清單和 SQL 調優軟件的免費演示。

1、什么是SQL性能調優?

明確定義什么是 SQL 性能調優并了解您要實現的目標可能會有所幫助。SQL 性能調優是改進在數據庫中執行的查詢的過程,目的是盡可能高效和快速地返回所需的結果。可能有幾十種方法可以返回相同的結果,而 SQL 性能調優就是找到最快/成本最低的一種。

SQL 調優中沒有萬靈藥。在一種情況下可能是最佳實踐的方法不適用于另一種情況。并非所有數據庫在用途(思考 OLTP 與 OLAP/數據倉庫)或大?。ㄋ伎?gigs 與 teras)方面都是平等的。這是一個不斷測試和記錄結果,然后再次測試的過程。

在執行性能調優任務時,重要的是:

  1. 分桶思考
  2. 關注相關指標
  3. 隨著時間的推移衡量結果
  4. 定期維護數據庫

2. 分桶思考

當面臨數據庫性能調優任務時,可能很難決定從哪里開始。您可能還不知道數據庫的哪個方面需要注意。在談論在云中管理數據庫時,您可能不得不考慮一些在本地數據庫時不必擔心的事情。

制定行動計劃的最佳方式是分桶思考。查看您的數據庫,就像機械師分析剛進店的汽車一樣。一次查看所有內容并不是很有幫助,因此機械師會根據問題的功能和位置來查看問題。是暫停的問題嗎?引擎?還是需要身體鍛煉?您可以將這些稱為汽車維修的“桶”。

在數據庫性能調優方面,將潛在問題分成不同的桶意味著根據共性組織一切。對于數據庫和調整 SQL,桶可以被認為是:

  • 資源(物理或虛擬)
  • 索引/數據模型
  • 查詢結構
  • 并發(阻塞——多個線程請求鎖定同一數據庫資源)

從那里,您可以深入到其他“桶”以確定問題的根源。以資源為例,因為如果您的數據庫位于云中,這可能是您必須更加關注的一件事。以下是在考慮使 SQL 語句運行得更好時要考慮的一些資源類別:

  • 記憶
  • 磁盤 I/O(容量和延遲)
  • 中央處理器
  • 網絡

相同的進一步細分可用于其他“存儲桶”,但我們不會深入研究這些“存儲桶”,因為在考慮內部部署與云時它們不會發生重大變化。

3.關注相關指標

當您測試您的查詢并微調您的數據庫時,您將跟蹤特定指標以便繪制隨時間改進的圖表。這些指標可能包括:

  • 等待狀態(數據庫花時間為最終用戶執行查詢)
  • CPU 利用率和信號等待
  • 提交響應時間
  • SQL語句編譯
  • 交易吞吐量
  • 內存壓力(閂鎖爭用和數據快速沖出內存)
  • 磁盤 I/O 延遲
  • 網絡帶寬和使用情況(這對于支持云中的數據庫尤為重要)

使用等待狀態作為用于關聯的指標的指南。如果您的數據庫將所有時間都花在磁盤讀取上,那么查看內存壓力(為什么它總是不得不返回到磁盤?)和磁盤性能(讀取延遲)作為相關指標來查看這些特定資源是否導致性能問題.?另一個很好的例子是阻塞。如果您的數據庫將所有時間都花在等待釋放鎖上,則您無法關聯 CPU、內存、磁盤或網絡爭用或壓力。

在性能指標方面,數據庫分析工具是您最好的朋友。Database Performance Analyzer中的儀表板功能提供了一個有價值的窗口,用于了解指標如何相互關聯。多維性能分析為您提供了正確的上下文,因此您可以從多個角度查看數據并三角測量性能問題的根本原因。多維視圖為您提供所需的人物、內容、時間、地點和原因的答案。

使用SolarWinds???SQL Sentry,DBA 可以通過快速查看實時和歷史事件及性能數據,更深入地了解整個 Microsoft 數據資產。SQL Sentry還可以顯示執行計劃圖、查詢歷史記錄等,因此您可以快速找到并修復可能有問題的查詢。

4. 隨著時間的推移衡量結果

要了解您的 SQL 查詢的執行情況,您需要隨時間跟蹤您的指標。在幾周甚至幾個月的時間里收集數據將使您對數據庫的整體性能有一個全面的了解。這將幫助您查看總體情況,而不是單個事件的快照。它可以幫助您回答以下問題:“我現在的表現是否比以往更差?”?憑借隨時間繪制性能圖表的能力,可以將其用作基準來確定任何給定時間范圍內的性能是否超出正常范圍。一個例子可能是將月末活動與上個月末而不是上周進行比較。

5.數據庫維護任務

數據庫維護對于 SQL 調優至關重要,因為此任務使您能夠發現潛在問題并解決您可能從未意識到的問題。維護任務可能因環境而異,但建議執行一些常見或一般任務。

在進入具體的維護任務之前,這里有幾個每個 DBA 都應該熟悉的首字母縮略詞:

  • SLA – 服務水平協議(您和企業最終用戶達成的協議)
  • RPO – 恢復點目標
  • RTO – 恢復時間目標
  • MTTI – Mean Time To Innocence(證明問題不在于數據庫所花費的時間)

請牢記這些首字母縮略詞,以下是您作為 DBA 需要執行日常維護的主要領域:

1. 備份——這需要以符合 RPO/RTO/SLA 目標的方式完成,但它會因系統而異。一種可能的方法是在工作時間進行每周完整備份、每日差異/增量備份和每小時事務日志備份(對于 SQL Server?)。這將為您提供相當數量的保護,但并不適用于所有系統。

例如,一個 30PB 的數據庫不太可能需要每周進行完整備份。另外,了解恢復到昨天、上周、上個月或去年需要多長時間也很重要。您需要制定恢復計劃并使您的備份符合該計劃。

記住,如果你不能調整你的數據庫環境,你可能不會得到加薪,但如果你不能保證你可以恢復,你將沒有工作。

2. 索引維護——您的索引需要經常檢查,最有可能每天檢查一次。但是,您可能不想每晚都重建索引。同樣,這取決于系統和重建所需的時間長度。索引中的碎片級別可能導致更新統計信息或重新組織索引比重建索引更好。

3. 更新統計數據——理想情況下需要每天檢查統計數據。這些檢查取決于系統、更新統計信息的時間長度、數據庫對象(表和索引)中的變動量,以及下次運行時將被迫重新編譯的查詢。

4. 腐敗檢查——你應該把檢查腐敗作為首要任務,至少每月一次。

5. 捕獲配置詳細信息——對于數據庫和服務器,您希望每天獲取配置設置的詳細信息,并在進行更改時進行跟蹤。您可以擴展它以捕獲其他內容,例如創建或刪除的登錄/用戶、這些用戶的權限等。詳細程度取決于每個 DBA 的勤奮程度,以及他們保持低 MTTI 的愿望。

6.有用的資源

除了維護任務清單之外,這里還有一些有用的資源可以幫助您作為數據庫管理員進行開發:

  • 對于 SQL 查詢調優,請查看此12 步指南
  • 要編寫更好的 SQL 查詢,請深入閱讀T-SQL 查詢一書
  • 免費試用數據庫性能分析器
  • SQL Server 性能調優的 3 個有用技巧
  • 下載SQL Sentry 的免費試用版

結論

如您所見,作為云 DBA 包含許多與傳統 DBA 相同的關注點和活動。我們可以使用許多與過去相同的工具和方法來解決性能問題。云和未來的 DBA 可能需要對技術有更廣泛的理解。因此,擺脫那些網絡技能,讓你的頭腦進入云端。

文章鏈接: http://www.qzkangyuan.com/18796.html

文章標題:SQL和數據庫性能調優指南和清單:專家提示

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
IDC云庫

最大化數據庫性能——MySQL調優最佳實踐

2023-3-23 10:38:43

IDC云庫

如何修復502 Bad Gateway錯誤

2023-3-23 11:01:09

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 陕西省| 南京市| 昭觉县| 上思县| 永川市| 新疆| 高邮市| 三门县| 舞阳县| 卢湾区| 达拉特旗| 石屏县| 永寿县| 炎陵县| 容城县| 博爱县| 家居| 舟山市| 西和县| 运城市| 淮阳县| 三亚市| 南宫市| 定陶县| 社旗县| 佛冈县| 云南省| 长白| 哈密市| 克东县| 福清市| 义马市| 临颍县| 临江市| 静乐县| 高平市| 海晏县| 龙川县| 通辽市| 新乡县| 凉山|